Assessing the Maintainability Benefits of Design Restructuring Using Dependency Analysis
نویسندگان
چکیده
Software developers and project managers often have to assess the quality of software design. A commonly adopted hypothesis is that a good design should cost less to maintain than a poor design. In this paper, we propose a model for quantifying the quality of a design from a maintainability perspective. Based on this model, we propose a novel strategy for predicting the “Return on Investment” (ROI) for possible design restructurings using procedure-level dependency analysis. We demonstrate this approach with two exploratory Java case studies. Our results show that common low-level source code transformations change the system dependency structure in a beneficial way, allowing recovery of the initial refactoring investment over a number of maintenance activities.
منابع مشابه
Maximum Maintainability of Complex Systems via Modulation Based on DSM and Module Layout.Case Study:Laser Range Finder
The present paper aims to investigate the effects of modularity and the layout of subsystems and parts of a complex system on its maintainability. For this purpose, four objective functions have been considered simultaneously: I) maximizing the level of accordance between system design and optimum modularity design,II) maximizing the level of accessibility and the maintenance space required,III...
متن کاملA Quantitative Evaluation of Maintainability of Software Architecture Styles
Proper decisions play a crucial role in any software architecture design process. An important decision of design stage is the selection of a suitable software architecture style. Lack of investigation on the quantitative impact of architecture styles on software quality attributes is the main problem in using such styles. Consequently, the use of architecture styles in designing is based on th...
متن کاملFirst Workshop on Patterns Promotion and Anti - patterns Prevention ( PPAP 2013 )
Although the belief of utilizing design patterns to create better quality software is fairly widespread, there are relatively few research papers objectively indicating that their usage is indeed beneficial. In this talk we will try to reveal the connection between design patterns and software maintainability. For this sake, we have performed two experiments. First, we have analyzed more than 3...
متن کاملX Design Properties and Evolvability of Object-Oriented Systems
Over the years, cumulative data have shown that maintenance is a major cost concern, as a matter of fact, a growing cost concern (Pigosky, 1997). The maintainability of a system seems to have much influence on the ease or difficulty to implement changes. A consensus has emerged that the maintainability of a software system is dependent on its design (Rombach, 1990), in the procedural paradigm a...
متن کاملMaintainability measure based on operating environment, a case study: Sungun copper mine
The life cycle cost of a system is influenced by its maintainability. Maintainability is a design parameter, whose operational conditions can affect it significantly. Hence, the effects of these operational conditions should be quantified early in the design phase. The proportional repair model (PRM), which is developed based on the proportional hazard model (PHM), can be used to analyze mainta...
متن کامل